Digital video recorder and methods for digital recording

ABSTRACT

The present invention relates to a digital audio and/or video recorder and to a method for recording of program data comprised in a transport stream, the transport stream having metadata, the method comprising the steps of:  
     de-multiplexing the transport stream to provide the program data and the metadata,  
     storing the program data in a digital recording format, the digital recording format having a first data structure for storing of navigation data and a second data structure of a second stream format for storage of program data packets,  
     transforming the metadata into the first data structure, and  
     storing the transformed metadata as part of the navigation data.

FIELD OF THE INVENTION

[0001] The present invention relates to the field of digital audio and/or video recording, and more particularly to recording of metadata by means of a digital video recorder (DVR).

BACKGROUND OF THE INVENTION

[0002] It is as such known from the prior art to include metadata in a transport stream. The term “metadata” is used for all kinds of data about data. This encompasses data which is descriptive about content, such as program title and synopsis. Further the term metadata does also encompass data which relates to the data transmission and/or recording process itself.

[0003] For example, the TV-Anytime forum has published metadata specifications which define the attractors and data structures that allow consumers to find, navigate and manage content. The “TV-Anytime” standard is an emerging standard which is defined by the TV-Anytime forum.

[0004] Such metadata is also referred to as “attractors” because it can attract a consumer to content. Attractors allow consumers to find, navigate and manage content from various sources. In addition to attractors metadata as defined by TV-Anytime also includes information about user preferences and history. User preference information, such as favorite actors or TV-shows, is included within the scope of TV-Anytime metadata to allow software agents to select content on the consumers behalf.

[0005] The metadata representation format is a specification of how TV-Anytime metadata is represented in the extended mark up language (XML). However the TV-Anytime metadata is not restricted to XML can also be encoded in a binary format for transmission or storage. Details of the metadata specification are published in the document SP003V10 of 16 Feb. 2001 which is available on the web-site www.tv-anytime.org. So far no transport mechanism is disclosed for the metadata within the scope of the TV-Anytime specification; also the manner in which the metadata is stored, accessed and used on a personal digital recorder (PDR) is unknown.

[0006] Further it is as such known from the prior art to include metadata in a MPEG-2 transport stream. Such transport streams are used for digital video broadcasting. In this instance the metadata is included in the transport stream in the form of digital video broadcast-service information (DVB-SI). The DVB-SI format is described in EN 300 468, DVB Specification for Service Information (SI) in DVB systems.

[0007] For the recording of a DVB program by means of a digital video recorder (DVR) a so-called DVR-standard is currently under development. However, a problem associated with the recording of a DVB signal by means of a DVR is that not all program related information (DVB-SI) is stored on the storage medium, e.g. an optical disc. The loss of this descriptive data has serious disadvantages for the DVR operation. Furthermore, the user cannot include user provided data such as annotations or other user provided content into the recording. Finally, the DVR format does not provide for a means to store such information outside the stream for making metadata available for navigation purposes.

SUMMARY OF THE INVENTION

[0008] The present invention provides for an improved method for recording of program data comprised in a transport stream, such as MPEG-2, by means of a digital audio and/or video recorder (DVR). Further the invention provides for an improved computer program digital audio and/or video recorder for recording of program data comprised in such a transport stream.

[0009] The invention enables to include metadata provided by the transport stream into the navigation data of the digital recording. This allows a user to take full advantage of the metadata provided by the broadcasters and/or to include additional metadata, such as user provider annotations and/or data from other sources like the Internet, digital audio broadcast data (DAB) or teletext.

[0010] It is a further advantage of the present invention that the metadata information which is stored as part of the navigation data of the digital recording enables a user to use that information for retrieval of recordings and to readily access metadata information.

[0011] In accordance with a further preferred embodiment of the invention the metadata is also stored as part of the DVR MPEG-2 transport stream file (MPEG TS). This is done by ingesting of additional data packets into the MPEG TS transport stream.

[0012] The additional data packets carry the metadata information. In case the metadata which is stored as part of the navigation data is erased by a user operation or otherwise this metadata can be reconstructed from the additional data packets which are stored as part of the transport stream MPEG TS.

[0013] In accordance with a further preferred embodiment of the invention additional data packets are ingested in the MPEG TS transport stream in isochronous intervals. These metadata packets contain hash tables which are calculated during the recording.

[0014] A hash table is a checksum or a CRC (Cyclic Redundancy Check) and provides consistency checks after recording. The check is done by recalculating the hash table metadata during playback and comparing it to the hash tables comprised in the additional data packets of the transport stream.

[0015] In accordance with a further preferred embodiment of the invention additional metadata packets are provided for trick modes. Metadata packets embedded within the MPEG TS transport stream are carrying pointers to adjacent entry points for I-frames. For example the trick mode metadata packets encompass a list of past and/or future I-frames. This simplifies handling of the trick mode.

BRIEF DESCRIPTION OF THE DRAWINGS

[0016] In the following preferred embodiment of the invention will be explained in greater detail by making reference to the drawings in which:

[0017]FIG. 1 is a block diagram of an embodiment of a digital video recorder in accordance with the invention,

[0018]FIG. 2 is a second embodiment of a digital video recorder which enables to add metadata to previous recordings,

[0019]FIG. 3 is a table of possible locations of descriptors,

[0020]FIG. 4 is illustrative of the vendor specific data syntax,

[0021]FIG. 5 is illustrative of a metadata packet syntax,

[0022]FIG. 6 is illustrative of a transport packet syntax,

[0023]FIG. 7 is illustrative of a packet identifier descriptor syntax,

[0024]FIG. 8 is illustrative of the format of isochronous metadata packets in a DVR MPEG TS stream,

[0025]FIG. 9 is illustrative of a hash table descriptor syntax.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

[0026]FIG. 1 shows a block diagram of a digital video recorder. The digital video recorder has demultiplexer 2 for receiving a transport stream, such as a MPEG-2 transport stream 1.

[0027] The demultiplexer 2 is coupled to DVR encoder 8. Further the demultiplexer 2 is coupled to analyser 4. The demulitplexer 2 serves to de-multiplex the transport stream 1 in order to provide the required program data to the DVR encoder 8 and to provide DVB-SI data 3 which is embedded in the transport stream 1 to the analyser 4.

[0028] The analyser 4 serves to decode the DVB-SI data 3 in order to provide metadata 5 to navigation data and packet embedder 6.

[0029] In addition or alternatively other metadata 12 is provided to the navigation data and packet embedder 6 from data source 13. Data source 13 can be an entry device for user provided metadata such as annotations. Alternatively data source 13 provides for an interface to teletext metadata and/or metadata received via digital audio broadcast (DAB) or the Internet.

[0030] The navigation data and packet embedder 6 provides for metadata in the form of vendor specific data 7 and for data transport packets 14 to be ingested into the recorded stream.

[0031] The vendor specific data 7 and the data transport packets 14 are in putted into the DVR encoder 8. Based on the program data which the DVR encoder receives from the demultiplexer 2 and based on the vendor specific data 7 and the data transport packets 14 the DVR encoder generates a data stream 9 and navigation data 10.

[0032] The data stream 9 comprises the additional data transport packets 14 provided by the navigation data and packet embedder 6 whereas the navigation data 10 comprises the vendor specific data 7 from the navigation data and packet embedder 6. The data stream 9 and the navigation data 10 are recorded on DVR disc 11.

[0033] In operation a transport stream 1 is received by means of a satellite or cable transmission or via another communication channel. The transport stream 1 comprises a number of video and/or audio programs as well as associated DVB-SI data 3.

[0034] The user selects one or more of the programs contained in the transport stream 1 for recording. The corresponding program data packets are provided from the demultiplexer 2 to the DVR encoder 8.

[0035] The DVB-SI data 3 which is associated with the user selected programs is also demultiplexed and provided to the analyser 4 for decoding. The analyser 4 outputs the decoded metadata 5.

[0036] The navigation data and packet embedder 6 transforms this metadata into vendor specific data 7 and into data transport packets and provides these two formats of transformed metadata to the DVR encoder 8.

[0037] This way the DVR encoder 8 integrates the vendor specific data 7 into the navigation data and it ingests the additional data transport packets 14 into the data stream 9 for recording. As a result the recording on the DVR disc 11 contains the metadata both in the form of additional data transport packets 14 as well as in the form of navigation data 10.

[0038] The navigation data 10 is primarily used for navigation purposes, such as retrieval of a specific user desired program. As metadata is included in the navigation data 10 the user is enabled to define a search profile which encompasses information stored in the metadata. This has the further advantage that the navigation data 10 can be accessed quickly such that a search is performed very rapidly.

[0039] In case the metadata comprised in the navigation data 10 is erased for some reason it can be reconstructed by means of the additional data transport packets 14 which have been ingested into the data stream 9.

[0040]FIG. 2 shows a block diagram of another embodiment of a digital video recorder in accordance with the invention. Elements of FIG. 2 which correspond to elements of the embodiment of FIG. 1 are designated by the same reference numerals.

[0041] The DVR of FIG. 2 has a DVR decoder 15 which receives a data stream 9 from DVR disc 11 as well as navigation data 10. The DVR disc 11 may contain metadata as described above with reference to FIG. 1. It may also not contain such metadata, especially if the recording has been done previously by means of a prior art DVR. The DVR decoder 15 outputs a MPEG-2 transport stream 16 which is inputted into demultiplexer 17. The demultiplexer 17 demultiplexes DVB-SI data 18 which is contained in the transport stream 16. The DVB-SI data 18 is inputted into analyser 19.

[0042] The analyser 19 decodes the DVB-SI data 18 and provides corresponding metadata 20 to navigation data embedder 21 in addition or alternatively metadata is provided from data source 13 as it is the case in the embodiment of FIG. 1.

[0043] The navigation data embedder 21 transforms the metadata 12 and/or metadata 20 into vendor specific data 22. The vendor specific data 22 is provided to the DVR encoder 23 which generates modified navigation data 24 comprising the metadata 12 and/or 20 in the form vendor specific data 22. The modified navigation data 24 is written onto the DVR disc 11.

[0044] This way a user is enabled to add navigation data in the form of metadata to a previous recording. This feature is especially advantageous for recordings which have been made previously on a prior art DVR. In such recordings the DVB-SI data 18 may have been recorded as part of the transport stream. However such recorded DVB-SI data is not accessible by a user of a prior art DVR and cannot be used for navigation purposes. By means of the embodiment of FIG. 2 a user is enabled to transform such DVB-SI data into usable navigation data and/or to add additional metadata.

[0045] This way data packets are embedded into the DVR vendor specific data field and into the DVR MPEG-2 transport stream (MPEG TS). Both types of embedded packets can be used separately or in combination. For example vendor specific data packets can be used to locate the additional metadata packets in the MPEG TS transport stream and the packets in the MPEG-2 transport stream can be used to generate the vendor specific data metadata packets.

[0046]FIG. 3 shows a table listing valid descriptors for DVB-SI metadata packets. In accordance with the invention metadata is transformed into the vendor specific data format of FIG. 4., which is a container format for these metadata.

[0047] In accordance with the preferred embodiment of FIG. 5 this is done by transforming the metadata from the data structure of FIG. 5 to the data structure of FIG. 4. In the data structure of FIG. 5 descriptor₁₃ length designates the total length of the metadata descriptors which is followed by a list of the descriptors (cf. FIG. 3)

[0048] Vendor specific data are defined for the volume (info file), each playlist and for the files storing the attributes of A/V stream file.

[0049] A form of metadata packets which is in compliance with the syntax and semantic of a transport packet is illustrated in FIG. 6 and is defined in ISO/IEC 13818-1 MPEG-2 Systems—Generic Coding of Moving Pictures and Associated Audio Information.

[0050] The packet identifier (PID) of FIG. 5 can have any value in the range of 0x00010-0x1FFE. The PID values chosen for the metadata packets needs to be adapted depending on the PID's already used for audio, video etc. in the MPEG-2 transport stream. Another idea of this invention is to specify the PID of metadata packets by means of a pid_descriptor, which is sorted (see FIG. 7) in the vendor specific data field.

[0051] Examples for metadata are DVB-SI information, which has been almost disregarded by the DVR specification (like program genre). Also information retrieved from other sources such as teletext, DAB and internet content carry metadata, which can be embedded within the MPEG TS.

[0052] If at the beginning of the recording no payload is existent—this is a further embodiment—placeholder packets are written to the MPEG TS stream. Later theses placeholders can be replaced with valid metadata.

[0053] Another use of the technique is to store metadata packets in isochronous intervals in the MPEG TS stream (FIG. 8). If no payload is available placeholder packets shall be stored. These metadata packets contain hash tables calculated during the recording. A hash table is a check sum or CRC and provides consistency checks after recording. The check is done by recalculation the hash table metadata during playback and comparing it to those located in the stream.

[0054] For this purpose additional metadata packets 25 are ingested into the transport stream 26 at time intervals Δt.

[0055] By the usage of the hash table metadata packet it is possible to retrieve and also to generate a consistent take even when a power drop occurred during the record in the DVR. A power drop will generate inconsistent DVR files.

[0056] Also by the usage of the hash table metadata packet it is possible to detect edit operations having been done by a prior art DVR recorder. For those edited streams a metadata update may be necessary.

[0057] By calculating a hash table value for all meaningful DVR files (like the playlist file) edit operations can easily be detected. Even edit operations that have been done with other DVRs can be identified. FIG. 9 shows the appropriate hash_table_descriptor, which is stored in vendor specific data.

[0058] It is a further advantage of the invention to provide metadata packets for trick modes. Metadata packets embedded within the bit stream (MPEG TS) are carrying pointers to adjacent entry points for I-frames. The trick mode metadata packets can encompass a list of N I-frames in the past and/or in the future, which will simplify the handling of trick mode.

[0059] It is to be noted that the present invention enables the additional storage of metadata content in parallel to the broadcast information which makes all the metadata accessible independent from their definition in the DVR standard. Further the invention provides for editing capabilities for user-defined collections, annotations and short cuts.

[0060] By embedding hash tables in the MPEG TS stream the error handling and recovery capabilities of a digital video recorder are improved. Further the invention enables to store adjacent I-picture positions which permits easier trick mode handling.

List of Reference Numerals

[0061] transport stream 1

[0062] demultiplexer 2

[0063] DVB-SI data 3

[0064] analyser 4

[0065] metadata 5

[0066] navigation data and packet embedder 6

[0067] vendor specific data 7

[0068] DVR encoder 8

[0069] data stream 9

[0070] navigation data 10

[0071] DVR disc 11

[0072] metadata 12

[0073] data source 13

[0074] data transport packet 14

[0075] DVR decoder 15

[0076] transport stream 16

[0077] demultiplexer 17

[0078] DVB-SI data 18

[0079] analyser 19

[0080] metadata 20

[0081] navigation data embedder 21

[0082] vendor specific data 22

[0083] DVR encoder 23

[0084] navigation data 24

[0085] metadata packets 25

[0086] transport stream 26 

What is claimed, is:
 1. A method for recording of program data comprised in a transport stream, the transport stream having metadata, the method comprising the steps of: de-multiplexing the transport stream to provide the program data and the metadata, storing the program data in a digital recording format, the digital recording format having a first data structure for storing of navigation data and a second data structure of a second stream format for storage of program data packets, transforming the metadata into the first data structure, and storing the transformed metadata as part of the navigation data.
 2. The method of claim 1 further comprising transforming the metadata into the second data structure, storing the transformed metadata as part of the second stream.
 3. The method of claim 1 further comprising providing of additional metadata, transforming the additional metadata into the first data structure and storing the transformed additional metadata as part of the navigation data.
 4. The method of claim 3 further comprising providing the additional metadata as user defined metadata and/or teletext data and/or digital audio broadcast data and/or Internet data.
 5. The method of claim 1 further comprising: calculating of hash tables during the recording for enabling a consistency check after recording by recalculating the hash table during playback and comparing it to the hash tables calculated during recording, storing of additional data packets in isochronous intervals in the second stream, the additional data packets containing the hash tables.
 6. The method of claim 1 further comprising: providing metadata for a trick mode, storing of additional data packets in the second stream, the additional data packets containing the metadata for the trick mode, such as a list of I-frames.
 7. The method of claim 1 the transport stream being a MPEG-2 transport stream.
 8. The method in accordance with claim 1 the metadata being comprised in digital video broadcast-service information.
 9. The method of claim 1 the digital recording format being a DVR format.
 10. The method of claim 1 the first data structure being a vendor specific data structure.
 11. The method of claim 1 the second data structure being a MPEG TS transport stream format.
 12. A computer program product for performing a method in accordance with claim
 1. 13. A digital audio and/or video recorder comprising means for performing a method in accordance with claim
 1. 